package org.edu.modules.center.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;

@TableName("ve_teach_student")
@ApiModel(value="ve_teach_student对象", description="学生学习记录")
public class VeTeachStudent
        implements Serializable
{
    private static final long serialVersionUID = 1L;
    @TableId(type=IdType.AUTO)
    @ApiModelProperty("主键、自动增长")
    private Integer id;
    @ApiModelProperty("教学活动ID")
    private Integer tcid;
    @ApiModelProperty("用户id,传0时为当前用户")
    private Integer studentid;
    @ApiModelProperty("学生姓名")
    private String studentname;
    @ApiModelProperty("学生用户名")
    private String studentaccount;
    @ApiModelProperty("是否修完 0 未修完 1 已修完")
    private Integer status;
    @ApiModelProperty("是否结业0否1是")
    private Integer passed;
    @ApiModelProperty("学员是否被锁定0否1是")
    private Integer locked;
    @ApiModelProperty("第一次开始学习时间")
    private Integer starttime;
    @ApiModelProperty("已学习时间（单位：分钟）")
    private BigDecimal studytime;
    @ApiModelProperty("最后学习时间")
    private Integer lasttime;
    @ApiModelProperty("最后学习点击的节点ID")
    private Integer lastnodeid;
    @ApiModelProperty("学习结束时间")
    private Integer finishtime;
    @ApiModelProperty("已学完的终极节点数（统计学习进度时使用）")
    private Integer finishnodecount;
    @ApiModelProperty("考试平均成绩，可以去掉")
    private Integer avgscore;
    @ApiModelProperty("提交作业总数")
    private Integer homeworkcount;
    @ApiModelProperty("学员的笔记数")
    private Integer notecount;
    @ApiModelProperty("考试总数")
    private Integer examcount;
    @ApiModelProperty("提问总数")
    private Integer askcount;
    @ApiModelProperty("提问回复总数")
    private Integer askreplycount;
    @ApiModelProperty("发表讨论主题数")
    private Integer postcount;
    @ApiModelProperty("主题回复数")
    private Integer postreplycount;
    @ApiModelProperty("综合成绩")
    private BigDecimal complexscore;
    @ApiModelProperty("所得学分")
    private Integer credit;
    @ApiModelProperty("访问次数")
    private Integer visitcount;
    @ApiModelProperty("更新时间")
    private Integer updatetime;
    @ApiModelProperty("终端ID")
    private Integer terminalid;
    @ApiModelProperty("多租户id")
    private Integer placeId;

    public VeTeachStudent setStudentid(Integer studentid)
    {
        this.studentid = studentid;return this;
    }

    public VeTeachStudent setTcid(Integer tcid)
    {
        this.tcid = tcid;return this;
    }

    public VeTeachStudent setId(Integer id)
    {
        this.id = id;return this;
    }

    public String toString()
    {
        return "VeTeachStudent(id=" + getId() + ", tcid=" + getTcid() + ", studentid=" + getStudentid() + ", studentname=" + getStudentname() + ", studentaccount=" + getStudentaccount() + ", status=" + getStatus() + ", passed=" + getPassed() + ", locked=" + getLocked() + ", starttime=" + getStarttime() + ", studytime=" + getStudytime() + ", lasttime=" + getLasttime() + ", lastnodeid=" + getLastnodeid() + ", finishtime=" + getFinishtime() + ", finishnodecount=" + getFinishnodecount() + ", avgscore=" + getAvgscore() + ", homeworkcount=" + getHomeworkcount() + ", notecount=" + getNotecount() + ", examcount=" + getExamcount() + ", askcount=" + getAskcount() + ", askreplycount=" + getAskreplycount() + ", postcount=" + getPostcount() + ", postreplycount=" + getPostreplycount() + ", complexscore=" + getComplexscore() + ", credit=" + getCredit() + ", visitcount=" + getVisitcount() + ", updatetime=" + getUpdatetime() + ", terminalid=" + getTerminalid() + ", placeId=" + getPlaceId() + ")";
    }

    public VeTeachStudent setPlaceId(Integer placeId)
    {
        this.placeId = placeId;return this;
    }

    public VeTeachStudent setTerminalid(Integer terminalid)
    {
        this.terminalid = terminalid;return this;
    }

    public VeTeachStudent setUpdatetime(Integer updatetime)
    {
        this.updatetime = updatetime;return this;
    }

    public VeTeachStudent setVisitcount(Integer visitcount)
    {
        this.visitcount = visitcount;return this;
    }

    public VeTeachStudent setCredit(Integer credit)
    {
        this.credit = credit;return this;
    }

    public VeTeachStudent setComplexscore(BigDecimal complexscore)
    {
        this.complexscore = complexscore;return this;
    }

    public VeTeachStudent setPostreplycount(Integer postreplycount)
    {
        this.postreplycount = postreplycount;return this;
    }

    public VeTeachStudent setPostcount(Integer postcount)
    {
        this.postcount = postcount;return this;
    }

    public VeTeachStudent setAskreplycount(Integer askreplycount)
    {
        this.askreplycount = askreplycount;return this;
    }

    public VeTeachStudent setAskcount(Integer askcount)
    {
        this.askcount = askcount;return this;
    }

    public VeTeachStudent setExamcount(Integer examcount)
    {
        this.examcount = examcount;return this;
    }

    public VeTeachStudent setNotecount(Integer notecount)
    {
        this.notecount = notecount;return this;
    }

    public VeTeachStudent setHomeworkcount(Integer homeworkcount)
    {
        this.homeworkcount = homeworkcount;return this;
    }

    public VeTeachStudent setAvgscore(Integer avgscore)
    {
        this.avgscore = avgscore;return this;
    }

    public VeTeachStudent setFinishnodecount(Integer finishnodecount)
    {
        this.finishnodecount = finishnodecount;return this;
    }

    public VeTeachStudent setFinishtime(Integer finishtime)
    {
        this.finishtime = finishtime;return this;
    }

    public VeTeachStudent setLastnodeid(Integer lastnodeid)
    {
        this.lastnodeid = lastnodeid;return this;
    }

    public VeTeachStudent setLasttime(Integer lasttime)
    {
        this.lasttime = lasttime;return this;
    }

    public VeTeachStudent setStudytime(BigDecimal studytime)
    {
        this.studytime = studytime;return this;
    }

    public VeTeachStudent setStarttime(Integer starttime)
    {
        this.starttime = starttime;return this;
    }

    public VeTeachStudent setLocked(Integer locked)
    {
        this.locked = locked;return this;
    }

    public VeTeachStudent setPassed(Integer passed)
    {
        this.passed = passed;return this;
    }

    public VeTeachStudent setStatus(Integer status)
    {
        this.status = status;return this;
    }

    public VeTeachStudent setStudentaccount(String studentaccount)
    {
        this.studentaccount = studentaccount;return this;
    }

    public VeTeachStudent setStudentname(String studentname)
    {
        this.studentname = studentname;return this;
    }

    public int hashCode()
    {
        int PRIME = 59;int result = 1;Object $id = getId();result = result * 59 + ($id == null ? 43 : $id.hashCode());Object $tcid = getTcid();result = result * 59 + ($tcid == null ? 43 : $tcid.hashCode());Object $studentid = getStudentid();result = result * 59 + ($studentid == null ? 43 : $studentid.hashCode());Object $status = getStatus();result = result * 59 + ($status == null ? 43 : $status.hashCode());Object $passed = getPassed();result = result * 59 + ($passed == null ? 43 : $passed.hashCode());Object $locked = getLocked();result = result * 59 + ($locked == null ? 43 : $locked.hashCode());Object $starttime = getStarttime();result = result * 59 + ($starttime == null ? 43 : $starttime.hashCode());Object $lasttime = getLasttime();result = result * 59 + ($lasttime == null ? 43 : $lasttime.hashCode());Object $lastnodeid = getLastnodeid();result = result * 59 + ($lastnodeid == null ? 43 : $lastnodeid.hashCode());Object $finishtime = getFinishtime();result = result * 59 + ($finishtime == null ? 43 : $finishtime.hashCode());Object $finishnodecount = getFinishnodecount();result = result * 59 + ($finishnodecount == null ? 43 : $finishnodecount.hashCode());Object $avgscore = getAvgscore();result = result * 59 + ($avgscore == null ? 43 : $avgscore.hashCode());Object $homeworkcount = getHomeworkcount();result = result * 59 + ($homeworkcount == null ? 43 : $homeworkcount.hashCode());Object $notecount = getNotecount();result = result * 59 + ($notecount == null ? 43 : $notecount.hashCode());Object $examcount = getExamcount();result = result * 59 + ($examcount == null ? 43 : $examcount.hashCode());Object $askcount = getAskcount();result = result * 59 + ($askcount == null ? 43 : $askcount.hashCode());Object $askreplycount = getAskreplycount();result = result * 59 + ($askreplycount == null ? 43 : $askreplycount.hashCode());Object $postcount = getPostcount();result = result * 59 + ($postcount == null ? 43 : $postcount.hashCode());Object $postreplycount = getPostreplycount();result = result * 59 + ($postreplycount == null ? 43 : $postreplycount.hashCode());Object $credit = getCredit();result = result * 59 + ($credit == null ? 43 : $credit.hashCode());Object $visitcount = getVisitcount();result = result * 59 + ($visitcount == null ? 43 : $visitcount.hashCode());Object $updatetime = getUpdatetime();result = result * 59 + ($updatetime == null ? 43 : $updatetime.hashCode());Object $terminalid = getTerminalid();result = result * 59 + ($terminalid == null ? 43 : $terminalid.hashCode());Object $placeId = getPlaceId();result = result * 59 + ($placeId == null ? 43 : $placeId.hashCode());Object $studentname = getStudentname();result = result * 59 + ($studentname == null ? 43 : $studentname.hashCode());Object $studentaccount = getStudentaccount();result = result * 59 + ($studentaccount == null ? 43 : $studentaccount.hashCode());Object $studytime = getStudytime();result = result * 59 + ($studytime == null ? 43 : $studytime.hashCode());Object $complexscore = getComplexscore();result = result * 59 + ($complexscore == null ? 43 : $complexscore.hashCode());return result;
    }

    protected boolean canEqual(Object other)
    {
        return other instanceof VeTeachStudent;
    }

    public boolean equals(Object o)
    {
        if (o == this) {
            return true;
        }
        if (!(o instanceof VeTeachStudent)) {
            return false;
        }
        VeTeachStudent other = (VeTeachStudent)o;
        if (!other.canEqual(this)) {
            return false;
        }
        Object this$id = getId();Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
            return false;
        }
        Object this$tcid = getTcid();Object other$tcid = other.getTcid();
        if (this$tcid == null ? other$tcid != null : !this$tcid.equals(other$tcid)) {
            return false;
        }
        Object this$studentid = getStudentid();Object other$studentid = other.getStudentid();
        if (this$studentid == null ? other$studentid != null : !this$studentid.equals(other$studentid)) {
            return false;
        }
        Object this$status = getStatus();Object other$status = other.getStatus();
        if (this$status == null ? other$status != null : !this$status.equals(other$status)) {
            return false;
        }
        Object this$passed = getPassed();Object other$passed = other.getPassed();
        if (this$passed == null ? other$passed != null : !this$passed.equals(other$passed)) {
            return false;
        }
        Object this$locked = getLocked();Object other$locked = other.getLocked();
        if (this$locked == null ? other$locked != null : !this$locked.equals(other$locked)) {
            return false;
        }
        Object this$starttime = getStarttime();Object other$starttime = other.getStarttime();
        if (this$starttime == null ? other$starttime != null : !this$starttime.equals(other$starttime)) {
            return false;
        }
        Object this$lasttime = getLasttime();Object other$lasttime = other.getLasttime();
        if (this$lasttime == null ? other$lasttime != null : !this$lasttime.equals(other$lasttime)) {
            return false;
        }
        Object this$lastnodeid = getLastnodeid();Object other$lastnodeid = other.getLastnodeid();
        if (this$lastnodeid == null ? other$lastnodeid != null : !this$lastnodeid.equals(other$lastnodeid)) {
            return false;
        }
        Object this$finishtime = getFinishtime();Object other$finishtime = other.getFinishtime();
        if (this$finishtime == null ? other$finishtime != null : !this$finishtime.equals(other$finishtime)) {
            return false;
        }
        Object this$finishnodecount = getFinishnodecount();Object other$finishnodecount = other.getFinishnodecount();
        if (this$finishnodecount == null ? other$finishnodecount != null : !this$finishnodecount.equals(other$finishnodecount)) {
            return false;
        }
        Object this$avgscore = getAvgscore();Object other$avgscore = other.getAvgscore();
        if (this$avgscore == null ? other$avgscore != null : !this$avgscore.equals(other$avgscore)) {
            return false;
        }
        Object this$homeworkcount = getHomeworkcount();Object other$homeworkcount = other.getHomeworkcount();
        if (this$homeworkcount == null ? other$homeworkcount != null : !this$homeworkcount.equals(other$homeworkcount)) {
            return false;
        }
        Object this$notecount = getNotecount();Object other$notecount = other.getNotecount();
        if (this$notecount == null ? other$notecount != null : !this$notecount.equals(other$notecount)) {
            return false;
        }
        Object this$examcount = getExamcount();Object other$examcount = other.getExamcount();
        if (this$examcount == null ? other$examcount != null : !this$examcount.equals(other$examcount)) {
            return false;
        }
        Object this$askcount = getAskcount();Object other$askcount = other.getAskcount();
        if (this$askcount == null ? other$askcount != null : !this$askcount.equals(other$askcount)) {
            return false;
        }
        Object this$askreplycount = getAskreplycount();Object other$askreplycount = other.getAskreplycount();
        if (this$askreplycount == null ? other$askreplycount != null : !this$askreplycount.equals(other$askreplycount)) {
            return false;
        }
        Object this$postcount = getPostcount();Object other$postcount = other.getPostcount();
        if (this$postcount == null ? other$postcount != null : !this$postcount.equals(other$postcount)) {
            return false;
        }
        Object this$postreplycount = getPostreplycount();Object other$postreplycount = other.getPostreplycount();
        if (this$postreplycount == null ? other$postreplycount != null : !this$postreplycount.equals(other$postreplycount)) {
            return false;
        }
        Object this$credit = getCredit();Object other$credit = other.getCredit();
        if (this$credit == null ? other$credit != null : !this$credit.equals(other$credit)) {
            return false;
        }
        Object this$visitcount = getVisitcount();Object other$visitcount = other.getVisitcount();
        if (this$visitcount == null ? other$visitcount != null : !this$visitcount.equals(other$visitcount)) {
            return false;
        }
        Object this$updatetime = getUpdatetime();Object other$updatetime = other.getUpdatetime();
        if (this$updatetime == null ? other$updatetime != null : !this$updatetime.equals(other$updatetime)) {
            return false;
        }
        Object this$terminalid = getTerminalid();Object other$terminalid = other.getTerminalid();
        if (this$terminalid == null ? other$terminalid != null : !this$terminalid.equals(other$terminalid)) {
            return false;
        }
        Object this$placeId = getPlaceId();Object other$placeId = other.getPlaceId();
        if (this$placeId == null ? other$placeId != null : !this$placeId.equals(other$placeId)) {
            return false;
        }
        Object this$studentname = getStudentname();Object other$studentname = other.getStudentname();
        if (this$studentname == null ? other$studentname != null : !this$studentname.equals(other$studentname)) {
            return false;
        }
        Object this$studentaccount = getStudentaccount();Object other$studentaccount = other.getStudentaccount();
        if (this$studentaccount == null ? other$studentaccount != null : !this$studentaccount.equals(other$studentaccount)) {
            return false;
        }
        Object this$studytime = getStudytime();Object other$studytime = other.getStudytime();
        if (this$studytime == null ? other$studytime != null : !this$studytime.equals(other$studytime)) {
            return false;
        }
        Object this$complexscore = getComplexscore();Object other$complexscore = other.getComplexscore();return this$complexscore == null ? other$complexscore == null : this$complexscore.equals(other$complexscore);
    }

    public Integer getId()
    {
        return this.id;
    }

    public Integer getTcid()
    {
        return this.tcid;
    }

    public Integer getStudentid()
    {
        return this.studentid;
    }

    public String getStudentname()
    {
        return this.studentname;
    }

    public String getStudentaccount()
    {
        return this.studentaccount;
    }

    public Integer getStatus()
    {
        return this.status;
    }

    public Integer getPassed()
    {
        return this.passed;
    }

    public Integer getLocked()
    {
        return this.locked;
    }

    public Integer getStarttime()
    {
        return this.starttime;
    }

    public BigDecimal getStudytime()
    {
        return this.studytime;
    }

    public Integer getLasttime()
    {
        return this.lasttime;
    }

    public Integer getLastnodeid()
    {
        return this.lastnodeid;
    }

    public Integer getFinishtime()
    {
        return this.finishtime;
    }

    public Integer getFinishnodecount()
    {
        return this.finishnodecount;
    }

    public Integer getAvgscore()
    {
        return this.avgscore;
    }

    public Integer getHomeworkcount()
    {
        return this.homeworkcount;
    }

    public Integer getNotecount()
    {
        return this.notecount;
    }

    public Integer getExamcount()
    {
        return this.examcount;
    }

    public Integer getAskcount()
    {
        return this.askcount;
    }

    public Integer getAskreplycount()
    {
        return this.askreplycount;
    }

    public Integer getPostcount()
    {
        return this.postcount;
    }

    public Integer getPostreplycount()
    {
        return this.postreplycount;
    }

    public BigDecimal getComplexscore()
    {
        return this.complexscore;
    }

    public Integer getCredit()
    {
        return this.credit;
    }

    public Integer getVisitcount()
    {
        return this.visitcount;
    }

    public Integer getUpdatetime()
    {
        return this.updatetime;
    }

    public Integer getTerminalid()
    {
        return this.terminalid;
    }

    public Integer getPlaceId()
    {
        return this.placeId;
    }
}
